﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using negocios;
using publico;
using objetos;

namespace softsales.pagina.nf_webservice
{
    public partial class nf_webservice_formulario : System.Web.UI.Page
    {
        BLL_TB_LOG_ERRO tb_log_erro = new BLL_TB_LOG_ERRO();
        BLL_TB_NF_WEBSERVICE_SERVICO b_tb_nf_webservice_servico = new BLL_TB_NF_WEBSERVICE_SERVICO();
        BLL_TB_UF b_tb_uf = new BLL_TB_UF();
        BLL_TB_NF_VERSAO b_tb_nf_versao = new BLL_TB_NF_VERSAO();
        BLL_TB_NF_TIPO_EMISSAO b_tb_nf_tipo_emissao = new BLL_TB_NF_TIPO_EMISSAO();

        OBJ_TB_NF_WEBSERVICE o_tb_nf_webservice = new OBJ_TB_NF_WEBSERVICE();
        BLL_TB_NF_WEBSERVICE b_tb_nf_webservice = new BLL_TB_NF_WEBSERVICE();
        BLL_TB_NF_AMBIENTE b_tb_ambiente = new BLL_TB_NF_AMBIENTE();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (PUB_SESSAO.Logado())
            {
                if (!IsPostBack)
                {
                    b_tb_nf_tipo_emissao.PreencheControleWeb(DDL_ID_TIPO_EMISSAO, true);
                    b_tb_nf_versao.PreencheControle(DDL_ID_VERSAO, true);
                    b_tb_nf_webservice_servico.PreencheControle(DDL_ID_TIPO_SERVICO, true);
                    b_tb_uf.PreencheControle(DDL_ID_UF, true);
                    b_tb_ambiente.PreencheControle(DDL_ID_AMBIENTE, true);

                    CHK_SIT_ATIVO.Checked = true;

                    if (Request["id"] != null)
                    {

                        LBL_TITULO_PAGINA.Text = "Editar NFe Webservice";
                        if (PUB_FUNCOES.ApenasNumero(Request["id"].ToString()))
                        {
                            Editar(Request["id"].ToString());
                        }
                    }
                    else
                    {
                        LBL_TITULO_PAGINA.Text = "Incluir NFe Webservice";
                    }

                }
            }
        }

        private void Editar(String id)
        {
            o_tb_nf_webservice = b_tb_nf_webservice.SelecionarObjetoPorId(Convert.ToInt32(id));

            DDL_ID_AMBIENTE.SelectedValue = o_tb_nf_webservice.id_ambiente.ToString();
            DDL_ID_TIPO_EMISSAO.SelectedValue = o_tb_nf_webservice.id_tipo_emissao.ToString();
            DDL_ID_TIPO_SERVICO.SelectedValue = o_tb_nf_webservice.id_tipo_servico.ToString();
            DDL_ID_UF.SelectedValue = o_tb_nf_webservice.id_uf.ToString();
            TXT_URL.Text = o_tb_nf_webservice.url.ToString();
            DDL_ID_VERSAO.SelectedValue = o_tb_nf_webservice.id_versao.ToString();
            CHK_SIT_ATIVO.Checked = o_tb_nf_webservice.sit_ativo;

        }

        protected void BTN_SALVAR_Click(object sender, EventArgs e)
        {
            try
            {
                string msg = string.Empty;
                if (DDL_ID_TIPO_EMISSAO.SelectedValue != string.Empty && DDL_ID_TIPO_SERVICO.SelectedValue != string.Empty && DDL_ID_UF.SelectedValue != string.Empty && DDL_ID_VERSAO.SelectedValue != string.Empty)
                {

                    o_tb_nf_webservice.id_tipo_emissao =  Convert.ToInt32(DDL_ID_TIPO_EMISSAO.SelectedValue);
                    o_tb_nf_webservice.id_tipo_servico = Convert.ToInt32(DDL_ID_TIPO_SERVICO.SelectedValue);
                    o_tb_nf_webservice.id_uf = Convert.ToInt32(DDL_ID_UF.SelectedValue);
                    o_tb_nf_webservice.id_ambiente = Convert.ToInt32(DDL_ID_AMBIENTE.SelectedValue);
                    o_tb_nf_webservice.id_usuario = PUB_SESSAO.Id;
                    o_tb_nf_webservice.url = TXT_URL.Text.ToString().Trim();
                    o_tb_nf_webservice.id_versao = Convert.ToInt32(DDL_ID_VERSAO.SelectedValue);
                    o_tb_nf_webservice.sit_ativo = Convert.ToBoolean(CHK_SIT_ATIVO.Checked);
                    o_tb_nf_webservice.dt_atualizacao = DateTime.Now;

                    if (HF_ID.Value != string.Empty)
                    {
                        o_tb_nf_webservice.id = Convert.ToInt32(HF_ID.Value);
                        b_tb_nf_webservice.Alterar(o_tb_nf_webservice);

                        msg = PUB_MENSAGEM.MSG_ALTERACAO;
                    }
                    else
                    {
                        b_tb_nf_webservice.Incluir(o_tb_nf_webservice);
                         msg = PUB_MENSAGEM.MSG_INCLUSAO;

                    }
                    Master.MSG_ALERTA(msg, "default.aspx", false);
                    

                }
            }
            catch (Exception ex)
            {
            
                tb_log_erro.IncluirLogErro(ex);
                Master.MSG_ALERTA("Erro ao tentar salvar o formulario");
            }
        }

        protected void BTN_CANCELAR_Click(object sender, EventArgs e)
        {
            Response.Redirect("default.aspx", false);
        }
    }
}